﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace OneDimentionArrays
{
    class Program
    {
        static void Main(string[] args)
        {
            //ArrayWithFiveNumbers();
            //CountElementsDifferentFromFive();
            TillMaxElement();

        }

        static void ArrayWithFiveNumbers()
        {
            int minValue = Int32.MinValue;
            int[] myArray = new int[5];
            for (int i = 0; i <= 4; i++)
            {
                Console.Write("Введите [{0}]:", i);
                myArray[i] = Int32.Parse(Console.ReadLine());
                if (myArray[i] > minValue)
                {
                    minValue = myArray[i];
                }
            }
            for (int i = 0; i < 5; i++)
            {

                Console.WriteLine(myArray[i]);
            }
            Console.WriteLine("Max value = {0}", minValue);
        }
        static void CountElementsDifferentFromFive() //Определить количество элементов в заданном массиве, отличающихся от минимального на 5
        {
            Console.WriteLine("Enter Dimention Size:");
            int arraySize = Int32.Parse(Console.ReadLine());
            int difCount = 0;
            int min = Int32.MaxValue;
            int[] testArray = new int[arraySize];

            for (int i = 0; i < arraySize; i++)
            {
                Console.Write("[{0}]: ", i);
                testArray[i] = Int32.Parse(Console.ReadLine());
                if (testArray[i] < min)
                {
                    min = testArray[i];
                }

            }
            for (int i = 0; i < arraySize; i++)
            {
                if (testArray[i] == min + 5)
                {
                    difCount++;
                }
            }
            Console.WriteLine("От минимального значения на 5 отличается {0} элемента массива:", difCount);
        }
        static void TillMaxElement()
        {
            Console.WriteLine("Укажите размер массива");
            int arraySize = Int32.Parse(Console.ReadLine());
            int countQuantity = 0;
            int countSum = 0;
            int max = Int32.MinValue;
            int[] sizedArray = new int[arraySize];

            for (int i = 0; i < arraySize; i++)
            {
                Console.Write("[{0}]: ", i);
                sizedArray[i] = Int32.Parse(Console.ReadLine());
                if (sizedArray[i] > max)
                {
                    max = sizedArray[i];
                }
            }


            do
            {

                if (sizedArray[countQuantity] == max)
                {
                    break;
                }
                countSum = countSum + sizedArray[countQuantity];
                countQuantity++;

            } while (countQuantity < arraySize);

            Console.WriteLine("Максимальный элемент = {0}", max);
            Console.WriteLine("Количество элементов в массиве до максимального = {0}", countQuantity);
            Console.WriteLine("Сумма элементов в массиве до максимального = {0}", countSum);
        }
    }
}
